#include "protocol.h"

<<<<<<< HEAD
=======
// 数据发送缓存区
PROTOCOL_SEND_T  protocolSendBuf;
PROTOCOL_RE_T protocolRecv;
bool isGetVersionFlag = false;  // 是否已经获取过版本信息，每一个小时只在开机的时候获取一次




/************************************************
函数名称 ： protocolAdd
功    能 ： 往缓存区里添加数据
参    数 ： buf --- 数据
						len --- 数据长度
返 回 值 ： 无
作    者 ： FlySnail
*************************************************/
void protocolAdd(uint8_t *buf,uint16_t len)
{
	// 缓存区增加一条记录

		memcpy(protocolSendBuf.buff[protocolSendBuf.depth], buf, len);	
		protocolSendBuf.len[protocolSendBuf.depth] = len;
		protocolSendBuf.depth++;
	
}





/************************************************
函数名称 ： protocolSend
功    能 ： 将缓存区里的数据发出去，发一条，缓存区减少一条
参    数 ： 无
返 回 值 ： 发回true:消息正常发送
						返回false:消息发送失败，需要重发或者重连接，本项目就直接重连接BC260，重发能成功个可能性也不大
作    者 ： FlySnail
*************************************************/
bool protocolSend(void)
{
	if(protocolSendBuf.depth>0) // 有数据
	{
		// 使用BC26发送数据，
		uint8_t stat = BC26_SendData(protocolSendBuf.buff[0], protocolSendBuf.len[0]);
		bc26.index = 0;
		if(stat==1)
		{
			if(protocolSendBuf.depth>1)
			{
				// 减少一条数据记录
				for(uint8_t i=0;i<protocolSendBuf.depth-1;i++)
				{
					memcpy(protocolSendBuf.buff[i], protocolSendBuf.buff[i+1], protocolSendBuf.len[i+1]);
					protocolSendBuf.len[i] = protocolSendBuf.len[i+1];
					protocolSendBuf.len[i+1] = 0;
				}
			}
			protocolSendBuf.depth--;
			return true;
		}
		else{
			return false;
		}
	}
	return true;
}




/************************************************
函数名称 ： protocolDeal
功    能 ： 消息处理，把数据帧转换成具体数据
参    数 ： msg --- 具体消息内容
返 回 值 ： 无
作    者 ： FlySnail
*************************************************/
void protocolDeal(MSG_T msg)
{
	if(msg.type==PROTOCOL_CMD_CONNECT_SYNC){

	}

}
>>>>>>> 7bd39c27ec8660a7fd23e9194dc3c1e0d7d0b993

